package com.kangye.enterprise.frontdesk.service.impl;

import com.kangye.enterprise.frontdesk.entity.Item;
import com.kangye.enterprise.frontdesk.entity.Items;
import com.kangye.enterprise.frontdesk.mapper.ItemsMapper;
import com.kangye.enterprise.frontdesk.service.ItemsService;
import com.kangye.enterprise.frontdesk.util.ViewJsonObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.ArrayList;
import java.util.List;

/**
 * @program: enterprise
 * @description: 实现用户项目逻辑接口
 * @author: 索腾龙
 * @create: 2021-06-01 13:54
 **/
@Service
@Transactional
public class ItemsServiceImpl implements ItemsService {
    @Autowired
    private ItemsMapper itemsMapper;
    //项目详情下的立即申报(索腾龙)
    @Override
    public Integer addItems(Items items) {
        return itemsMapper.addItems(items);
    }

    //查询用户所有的项目(索腾龙)以及待提交,待审核,审核中,已退回,已通过的项目
    @Override
    public ViewJsonObject<Items> selItems(Integer itemsUsersid, Integer itemsState) {
        //调用service方法
        List<Items> list = itemsMapper.selItems(itemsUsersid, itemsState);
        //判断list里是否有数据
        if (list.size()>0) {
            //返回json格式
            return new ViewJsonObject<Items>(list);
        } else {
            return new ViewJsonObject<>(1, "操作失败");
        }
    }
    //查询用户某个项目的详细内容(索腾龙)
    @Override
    public ViewJsonObject<Items> selItensById(Integer itemsId) {
        //用实体类接收方法
        Items items = itemsMapper.selItemsById(itemsId);
        //创建list集合
        List<Items> list = new ArrayList<>();
        //把mapper方法添加到list里
        list.add(items);
        //判断list里是否有数据
        if (items!=null) {
            //返回json格式
            return new ViewJsonObject<Items>(list);
        } else {
            return new ViewJsonObject<>(1, "操作失败");
        }
    }
    //用户取消(删除)自己提交的项目(索腾龙)
    @Override
    public Integer delItemsById(Integer itemsId) {
        return itemsMapper.delItemsById(itemsId);
    }
    //用户项目待提交里的(立即提交)按钮(索腾龙)
    @Override
    public Integer updItemsByid(Integer itemsId) {
        return itemsMapper.updItemsByid(itemsId);
    }
    //用户已驳回中的立即提交(索腾龙)
    public Integer updItemsByid1(Items items){
        return itemsMapper.updItemsByid1(items);
    }
}